home *** CD-ROM | disk | FTP | other *** search
Wrap
<?xml version="1.0" encoding="EUC-JP"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX This file is generated from xml source: DO NOT EDIT XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --> <title>mod_proxy_ajp - Apache HTTP Ñ╡í╝Ñ╨</title> <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /> <link href="../images/favicon.ico" rel="shortcut icon" /></head> <body> <div id="page-header"> <p class="menu"><a href="../mod/">ÑΓÑ╕Ñσí╝Ñδ</a> | <a href="../mod/directives.html">Ñ╟ÑúÑ∞Ñ»Ñ╞ÑúÑ╓</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">═╤╕∞</a> | <a href="../sitemap.html">Ñ╡ÑñÑ╚Ñ▐Ñ├Ñ╫</a></p> <p class="apache">Apache HTTP Ñ╡í╝Ñ╨ Ñ╨í╝Ñ╕ÑτÑ≤ 2.2</p> <img alt="" src="../images/feather.gif" /></div> <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> <div id="path"> <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Ñ╡í╝Ñ╨</a> > <a href="http://httpd.apache.org/docs/">Ñ╔Ñ¡ÑσÑßÑ≤Ñ╞í╝Ñ╖ÑτÑ≤</a> > <a href="../">Ñ╨í╝Ñ╕ÑτÑ≤ 2.2</a> > <a href="./">ÑΓÑ╕Ñσí╝Ñδ</a></div> <div id="page-content"> <div id="preamble"><h1>Apache ÑΓÑ╕Ñσí╝Ñδ mod_proxy_ajp</h1> <div class="toplang"> <p><span>Available Languages: </span><a href="../en/mod/mod_proxy_ajp.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_proxy_ajp.html" title="Japanese"> ja </a></p> </div> <table class="module"><tr><th><a href="module-dict.html#Description">└Γ╠└:</a></th><td><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> ñ╟ AJP ñ≥Ñ╡Ñ▌í╝Ñ╚ñ╣ñδñ┐ñßñ╬ÑΓÑ╕Ñσí╝Ñδ</td></tr> <tr><th><a href="module-dict.html#Status">Ñ╣Ñ╞í╝Ñ┐Ñ╣:</a></th><td>Extension</td></tr> <tr><th><a href="module-dict.html#ModuleIdentifier">ÑΓÑ╕Ñσí╝Ñδ╝▒╩╠╗╥:</a></th><td>proxy_ajp_module</td></tr> <tr><th><a href="module-dict.html#SourceFile">Ñ╜í╝Ñ╣Ñ╒ÑíÑñÑδ:</a></th><td>proxy_ajp.c</td></tr></table> <h3>│╡═╫</h3> <p>╦▄ÑΓÑ╕Ñσí╝Ñδñ╦ñ╧ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> ñ¼<em>╔¼═╫ñ╟ñ╣</em>íú <code>Apache JServ Protocol version 1.3</code> (░╩╣▀ <em>AJP13</em>) ñ≥Ñ╡Ñ▌í╝Ñ╚ñ╖ñ▐ñ╣íú</p> <p><code>AJP13</code> Ñ╫ÑφÑ╚Ñ│Ñδñ≥░╖ñ¿ñδñΦñªñ╦ñ╣ñδñ╦ñ╧ <code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code> ñ╚ <code class="module"><a href="../mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code> ñ≥Ñ╡í╝Ñ╨ñ╦┴╚ñ▀╣■ñα╔¼═╫ñ¼ñóñΩñ▐ñ╣íú</p> <div class="warning"><h3>╖┘╣≡</h3> <p><a href="#access">░┬┴┤ñ╩Ñ╡í╝Ñ╨ñ╦ñ╣ñδ</a>ñ▐ñ╟Ñ╫ÑφÑ»Ñ╖╡í╟╜ñ╧═¡╕·ñ╦ñ╖ñ╩ñññ╟ñ»ñ└ñ╡ññíú Ѭí╝Ñ╫Ñ≤Ñ╫ÑφÑ¡Ñ╖Ñ╡í╝Ñ╨ñ╧ñóñ╩ñ┐╝½┐╚ñ╬Ñ═Ñ├Ñ╚Ñ∩í╝Ñ»ñ╦ñ╚ñ├ñ╞ñΓíó ÑñÑ≤Ñ┐í╝Ñ═Ñ├Ñ╚┴┤┬╬ñ╦ñ╚ñ├ñ╞ñΓ┤φ╕▒ñ╟ñ╣íú</p> </div> </div> <div id="quickview"><h3 class="directives">Ñ╟ÑúÑ∞Ñ»Ñ╞ÑúÑ╓</h3> <p>ñ│ñ╬ÑΓÑ╕Ñσí╝Ñδñ╦Ñ╟ÑúÑ∞Ñ»Ñ╞ÑúÑ╓ñ╧ñóñΩñ▐ñ╗ñ≤íú</p> <h3>Ñ╚Ñ╘Ñ├Ñ»</h3> <ul id="topics"> <li><img alt="" src="../images/down.gif" /> <a href="#overviewprotocol">Ñ╫ÑφÑ╚Ñ│Ñδñ╬│╡═╫</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#basppacketstruct">┤≡╦▄Ñ╤Ñ▒Ñ├Ñ╚╣╜┬ñ</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#rpacetstruct">ÑΩѻѿÑ╣Ñ╚Ñ╤Ñ▒Ñ├Ñ╚╣╜┬ñ</a></li> <li><img alt="" src="../images/down.gif" /> <a href="#resppacketstruct">Ñ∞Ñ╣Ñ▌Ñ≤Ñ╣Ñ╤Ñ▒Ñ├Ñ╚╣╜┬ñ</a></li> </ul><h3>╗▓╛╚</h3> <ul class="seealso"> <li><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></li> </ul></div> <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> <h2><a name="overviewprotocol" id="overviewprotocol">Ñ╫ÑφÑ╚Ñ│Ñδñ╬│╡═╫</a></h2> <p><code>AJP13</code> Ñ╫ÑφÑ╚Ñ│Ñδñ╧Ñ╤Ñ▒Ñ├Ñ╚╗╪╕■ñ╟ñ╣íú ▓─╞╔ñ╩Ñ╫Ñ∞í╝Ñ≤Ñ╞Ñ¡Ñ╣Ñ╚╖┴╝░ñ╟ñ╧ñ╩ñ»Ñ╨ÑñÑ╩ÑΩ╖┴╝░ñ╦ñ╩ñ├ñ┐ñ╬ñ╧íó ñ¬ñ╜ñΘñ»Ñ╤Ñ╒Ñ⌐í╝Ñ▐Ñ≤Ñ╣╛σñ╬═²═│ñ╦ñΦñΩñ▐ñ╣íú ѪѺÑ╓Ñ╡í╝Ñ╨ñ╧Ñ╡í╝Ñ╓Ñ∞Ñ├Ñ╚Ñ│Ñ≤Ñ╞Ñ╩ñ╚ TCP Ñ│Ñ═Ñ»Ñ╖ÑτÑ≤ñ╟─╠┐«ñ╖ñ▐ñ╣íú Ñ╜Ñ▒Ñ├Ñ╚└╕└«ñ╧╜┼ññ╜Φ═²ñ╩ñ╬ñ╟íó╔Θ▓┘ñ≥╕║ñΘñ╣ñ┐ñßñ╦íóÑ╡í╝Ñ╓Ñ∞Ñ├Ñ╚Ñ│Ñ≤Ñ╞Ñ╩ñ╚ñ╬ TCP └▄┬│ñ≥░▌╗²ñ╖íó╩ú┐⌠ñ╬ÑΩѻѿÑ╣Ñ╚íªÑ∞Ñ╣Ñ▌Ñ≤Ñ╣╜Φ═²Ñ╡ÑñÑ»Ñδñ╦┬╨ñ╖ñ╞░∞ñ─ñ╬ Ñ│Ñ═Ñ»Ñ╖ÑτÑ≤ñ≥╗╚ñññ▐ñ∩ñ╣ñΦñªñ╦ñ╩ñ├ñ╞ñññ▐ñ╣íú</p> <p>ñóñδÑΩѻѿÑ╣Ñ╚ñ╦Ñ│Ñ═Ñ»Ñ╖ÑτÑ≤ñ¼│ΣñΩ┼÷ñ╞ñΘñ∞ñδñ╚íóñ╜ñ╬╜Φ═²Ñ╡ÑñÑ»Ñδñ¼ ┤░╬╗ñ╣ñδñ▐ñ╟┬╛ñ╬ñΓñ╬ñ╦╗╚ñ∩ñ∞ñδñ│ñ╚ñ╧ñóñΩñ▐ñ╗ñ≤íú ñ─ñ▐ñΩÑ│Ñ═Ñ»Ñ╖ÑτÑ≤╛σñ╟ñ╧íóÑΩѻѿÑ╣Ñ╚ñ╬╞▒╗■╜Φ═²ñ╧╣╘ñ∩ñ∞ñ▐ñ╗ñ≤íú ñ│ñ╬ñ┐ñßíóÑ│Ñ═Ñ»Ñ╖ÑτÑ≤╬╛├╝ñ╟ñ╬╝┬╣╘ñ╣ñδÑ│í╝Ñ╔ñ≥┤╩╖Θñ╦ñ╟ñ¡ñδ░∞╩²ñ╟íó ╞▒╗■ñ╦│½ñ»Ñ│Ñ═Ñ»Ñ╖ÑτÑ≤ñ╧┬┐ñ»ñ╩ñ├ñ╞ñññ▐ñ╣íú</p> <p>Ñ╡í╝Ñ╓Ñ∞Ñ├Ñ╚Ñ│Ñ≤Ñ╞Ñ╩ñ╪ñ╬Ñ│Ñ═Ñ»Ñ╖ÑτÑ≤ñ≥│½ñññ┐╕σñ╧íóÑ│Ñ═Ñ»Ñ╖ÑτÑ≤ñ╬╛⌡┬╓ñ╧ ╝íñ╬ñ╔ñ∞ñ½ñ╦ñ╩ñΩñ▐ñ╣:</p> <ul> <li> Idle <br />Ñ│Ñ═Ñ»Ñ╖ÑτÑ≤╛σñ╟╜Φ═²ñ╡ñ∞ñ╞ñññδÑΩѻѿÑ╣Ñ╚ñ╧ñóñΩñ▐ñ╗ñ≤íú</li> <li> Assigned <br />Ñ│Ñ═Ñ»Ñ╖ÑτÑ≤ñ╧ÑΩѻѿÑ╣Ñ╚ñ≥╜Φ═²├µñ╟ñ╣íú</li> </ul> <p>Ñ│Ñ═Ñ»Ñ╖ÑτÑ≤ñ¼╞├─Ωñ╬ÑΩѻѿÑ╣Ñ╚ñ╦ÑóÑ╡ÑñÑ≤ñ╡ñ∞ñδñ╚íó┤≡╦▄┼¬ñ╩╛≡╩≤ (╬πñ¿ñ╨ HTTP Ñ╪Ñ├Ñ└┼∙) ñ¼░╡╜╠ñ╡ñ∞ñ┐╖┴ (╬πñ¿ñ╨─╠╛∩ñ╬╩╕╗·╬≤ñ╧└░┐⌠ñ╦Ñ¿Ñ≤Ñ│í╝Ñ╔ñ╡ñ∞ñ▐ñ╣) ñ╟┼╛┴≈ñ╡ñ∞ñ▐ñ╣íú╛▄║┘ñ╧▓╝╡¡ñ╬í╓ÑΩѻѿÑ╣Ñ╚Ñ╤Ñ▒Ñ├Ñ╚ñ╬╣╜┬ñí╫ñ≥╗▓╛╚ñ╖ñ╞ñ»ñ└ñ╡ññíú ÑΩѻѿÑ╣Ñ╚ñ╦Ñ▄Ñ╟Ñúñ¼┬╕║▀ <code>(content-length > 0)</code> ñ╣ñ∞ñ╨íó ┤≡╦▄┼¬ñ╩╛≡╩≤ñ╬─╛╕σñ╦╩╠Ñ╤Ñ▒Ñ├Ñ╚ñ╟┼╛┴≈ñ╡ñ∞ñ▐ñ╣íú</p> <p>ñ│ñ╬╗■┼└ñ╟ñ¬ñ╜ñΘñ»íóÑ╡í╝Ñ╓Ñ∞Ñ├Ñ╚Ñ│Ñ≤Ñ╞Ñ╩ñ╧╜Φ═²ñ≥│½╗╧ñ╟ñ¡ñδñΦñªñ╦ñ╩ñΩñ▐ñ╣íú ñ╟ñ╣ñ╬ñ╟íó╝íñ╬ÑßÑ├Ñ╗í╝Ñ╕ñ≥ѪѺÑ╓Ñ╡í╝Ñ╨ñ╦╠ßñ╖ñ╞├╬ñΘñ╗ñΘñ∞ñδñΦñªñ╦ñ╩ñΩñ▐ñ╣íú</p> <ul> <li>SEND_HEADERS <br />Ñ╓ÑΘѪÑ╢ñ╦Ñ╪Ñ├Ñ└ñ≥┴≈┐«ñ╖ñ▐ñ╣íú</li> <li>SEND_BODY_CHUNK <br />Ñ╓ÑΘѪÑ╢ñ╦Ñ▄Ñ╟ÑúÑ╟í╝Ñ┐ñ╬Ñ┴ÑπÑ≤Ñ»ñ≥┴≈ñΩñ▐ñ╣íú </li> <li>GET_BODY_CHUNK <br />ÑΩѻѿÑ╣Ñ╚ñ╬Ñ╟í╝Ñ┐ñ≥┴┤ñ╞╝⌡ñ▒╝ΦñΩ╜¬ñ∩ñ├ñ╞ñññ╩ñññ╚ñ¡ñ╦íó ╗─ñ├ñ╞ñññδÑ╟í╝Ñ┐ñ≥╝⌡ñ▒╝ΦñΩñ▐ñ╣íúÑ╤Ñ▒Ñ├Ñ╚ñ╦ñóñδ─Ωñ▐ñ├ñ┐║╟┬τ─╣ñ¼ñóñΩíó╟ñ░╒ñ╬ ┬τñ¡ñ╡ñ╬Ñ╟í╝Ñ┐ñ¼ÑΩѻѿÑ╣Ñ╚ñ╬Ñ▄Ñ╟Ñúñ╚ñ╖ñ╞┤▐ñ▐ñ∞ñªñδ╛∞╣τ (╬πñ¿ñ╨Ñ╒ÑíÑñÑδñ╬ÑóÑ├Ñ╫Ñφí╝Ñ╔ñ╬╛∞╣τ) ñ╦╔¼═╫ñ╚ñ╩ñΩñ▐ñ╣íú (├φ: HTTP ñ╬Ñ┴ÑπÑ≤Ñ»┼╛┴≈ñ╚ñ╧┤╪╧óñóñΩñ▐ñ╗ñ≤íú)</li> <li>END_RESPONSE <br />ÑΩѻѿÑ╣Ñ╚╜Φ═²Ñ╡ÑñÑ»Ñδñ≥╜¬╬╗ñ╖ñ▐ñ╣íú</li> </ul> <p>╕─í╣ñ╬ÑßÑ├Ñ╗í╝Ñ╕ñ╧ñ╜ñ∞ñ╛ñ∞░█ñ╩ñδÑ╟í╝Ñ┐Ñ╤Ñ▒Ñ├Ñ╚╖┴╝░ñ╦ñ╩ñ├ñ╞ñññ▐ñ╣íú ╕σ╜╥ñ╬í╓Ñ∞Ñ╣Ñ▌Ñ≤Ñ╣Ñ╤Ñ▒Ñ├Ñ╚ñ╬╣╜┬ñí╫ñ≥╗▓╛╚ñ╖ñ╞ñ»ñ└ñ╡ññíú</p> </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> <h2><a name="basppacketstruct" id="basppacketstruct">┤≡╦▄Ñ╤Ñ▒Ñ├Ñ╚╣╜┬ñ</a></h2> <p>ñ│ñ╬Ñ╫ÑφÑ╚Ñ│Ñδñ╦ñ╧ XDR ñ½ñΘ╝⌡ñ▒╖╤ñññ└╔⌠╩¼ñ¼╛»ñ╖ñóñΩñ▐ñ╣ñ¼íó┬┐ñ»ñ╬┼└ñ╟ ░█ñ╩ñΩñ▐ñ╣ (╬πñ¿ñ╨ 4 Ñ╨ÑñÑ╚ÑóÑΘÑñÑßÑ≤Ñ╚ñ╟ñ╩ñññ│ñ╚ñ╩ñ╔) íú</p> <p>Ñ╨ÑñÑ╚Ѭí╝Ñ└í╝: ╕─í╣ñ╬Ñ╨ÑñÑ╚ñ╬Ñ¿Ñ≤Ñ╟ÑúÑóÑ≤ñ¼ñ╔ñªñ╩ñ├ñ╞ñññδñ½ñ╧íó ╗Σñ╧╛▄ñ╖ñ»ñ╩ñññ╬ñ╟ñ╣ñ¼íóÑΩÑ╚ÑδÑ¿Ñ≤Ñ╟ÑúÑóÑ≤ñ╦ñ╩ñ├ñ╞ñññδñ╚╗╫ñññ▐ñ╣íú XDR ╗┼══ñ╟ñ╜ñªñ╩ñ├ñ╞ñññδñ╬ñ╚íó┴╟└▓ñΘñ╖ñññ│ñ╚ñ╦ sys/socket ÑΘÑñÑ╓ÑΘÑΩñ¼ (C ñ╟) ñ╜ñªñññª╔≈ñ╦ñ╟ñ¡ñ╞ñññδñ╬ñ╟ñ╜ñªñ╩ñ╬ñ└ñ╚╗╫ñññ▐ñ╖ñ┐íú Ñ╜Ñ▒Ñ├Ñ╚╕╞ñ╙╜╨ñ╖ñ╬╞Γ╔⌠ñ╦ñ─ñññ╞ñΦñΩ╛▄ñ╖ññ╩²ñ¼ñññΘñ├ñ╖ñπñññ▐ñ╖ñ┐ñΘíó ñ┤╢╡╝°ñ»ñ└ñ╡ññíú</p> <p>Ñ╫ÑφÑ╚Ñ│Ñδñ╦ñ╧ 4 ñ─ñ╬Ñ╟í╝Ñ┐Ñ┐ÑñÑ╫ñ¼ñóñΩñ▐ñ╣: byte, boolean, integer, string ñ╟ñ╣íú</p> <dl> <dt><strong>Byte</strong></dt><dd>Ñ╨ÑñÑ╚░∞ñ─ñ╟ñ╣íú</dd> <dt><strong>Boolean</strong></dt> <dd>Ñ╨ÑñÑ╚░∞ñ─ñ╟íó<code>1 = true</code>, <code>0 = false</code> ñ╟ñ╣íú (C ñ╬ñΦñªñ╦) ╚≤╬φñ≥┐┐ñ╚ñ╖ñ╞░╖ñ├ñ╞ñ╖ñ▐ñªñ╚íóñóñδ╛∞╣τñ╧╞░ñ»ñ½ñΓñ╖ñ∞ñ▐ñ╗ñ≤ñ╖íó ╞░ñ½ñ╩ñññ½ñΓñ╖ñ∞ñ▐ñ╗ñ≤íú</dd> <dt><strong>Integer</strong></dt> <dd><code>0 ñ½ñΘ 2^16 (32768)</code> ñ╬╚╧░╧ñ╬┐⌠╗·íú╣Γ╝íñ╬ 2 Ñ╨ÑñÑ╚ñ¼ └Φñ╦│╩╟╝ñ╡ñ∞ñ▐ñ╣íú</dd> <dt><strong>String</strong></dt> <dd>▓─╩╤─╣ñ╬╩╕╗·╬≤ (2^16 ñ¼─╣ñ╡ñ╬╛σ╕┬) íú─╣ñ╡╛≡╩≤ñ╬Ñ╤Ñ▒Ñ├Ñ╚ 2 Ñ╨ÑñÑ╚ñ╬╕σñ╦ ╩╕╗·╬≤ (╜¬├╝╩╕╗· '\0' ñ≥┤▐ñα) ñ¼┬│ñ»╖┴╝░ñ╟Ñ¿Ñ≤Ñ│í╝Ñ╔ñ╡ñ∞ñ▐ñ╣íú Ñ¿Ñ≤Ñ│í╝Ñ╔ñ╡ñ∞ñ╞ñññδ─╣ñ╡╛≡╩≤ñ╧║╟╕σñ╬ '\0' ñ≥<strong>ѽѪÑ≤Ñ╚ñ╖ñ╩ññ</strong> ñ│ñ╚ñ╦├φ░╒ñ╖ñ╞ñ»ñ└ñ╡ññí╜í╜ñ│ñ∞ñ╧ <code>strlen</code> ñ╚╞▒══ñ╟ñ╣íú ñ│ñ∞ñΘñ╬╜¬├╝╩╕╗·ñ≥Ñ╣Ñ¡Ñ├Ñ╫ñ╣ñδñ┐ñßñ╦íóñóñ▐ñΩ░╒╠úñ╬╠╡ññÑñÑ≤Ñ»ÑΩÑßÑ≤Ñ╚╩╕ ñ≥ñ┐ñ»ñ╡ñ≤╜±ñ½ñ╩ñññ╚ñññ▒ñ╩ñññ╬ñ╧íó Java ñ╬┬ªñ½ñΘ╕½ñδñ╚╛»ñ╖╩╢ñΘñ∩ñ╖ñ»┤╢ñ╕ñΘñ∞ñδñ½ñΓñ╖ñ∞ñ▐ñ╗ñ≤íú ñ│ñªñ╩ñ├ñ┐═²═│ñ╧ñ¬ñ╜ñΘñ»íóServlet Ñ│Ñ≤Ñ╞Ñ╩ñ½ñΘ╩╓ñ╡ñ∞ñδ╩╕╗·╬≤ñ≥╞╔ñ▀╜╨ñ╣╗■ñ╦íó ╕·╬¿ñΦñ» C ñ╬Ñ│í╝Ñ╔ñ≥╜±ñ▒ñδñΦñªñ╦ñ╣ñδí╜í╜Ñ╡í╝Ñ╓Ñ∞Ñ├Ñ╚ñ½ñΘ╩╓ñ╡ñ∞ñδ ╩╕╗·╬≤ñ╧ \0 ╩╕╗·ñ╟╜¬├╝ñ╡ñ∞ñ╞ñññδñ╬ñ╟íóC ñ╬Ñ│í╝Ñ╔ñ╟ñ╧ñ∩ñ╢ñ∩ñ╢Ñ│Ñ╘í╝ñ≥ñ╗ñ║ñ╦íó ░∞ñ─ñ╬Ñ╨Ñ├Ñ╒Ñíñ╪ñ╬ÑΩÑ╒ÑíÑ∞Ñ≤Ñ╣ñ≥╝ΦñΩ▓≤ñ╣ñΦñªñ╦╜±ñ»ñ│ñ╚ñ¼ñ╟ñ¡ñδí╜í╜ ñ┐ñßñ└ñ╚╗╫ñ∩ñ∞ñ▐ñ╣íú '\0' ╩╕╗·ñ¼ñ╩ññ╛∞╣τñ╧íóC ñ╟ñ╧╩╕╗·╬≤ñ╬╡¼┬ºñ╦╣τñªñΦñªñ╦Ñ│Ñ╘í╝ñ╖ñ╩ñ▒ñ∞ñ╨ ñññ▒ñ╩ñ»ñ╩ñ├ñ╞ñ╖ñ▐ñññ▐ñ╣íú</dd> </dl> <h3>Ñ╤Ñ▒Ñ├Ñ╚Ñ╡ÑñÑ║</h3> <p>┬┐ñ»ñ╬Ñ│í╝Ñ╔ñ╟ñ╜ñªñ╩ñ├ñ╞ñññδñ╬ñ╟ñ╣ñ¼íóÑ╤Ñ▒Ñ├Ñ╚Ñ╡ÑñÑ║ñ╬║╟┬τÑ╡ÑñÑ║ñ╧ <code>8 * 1024 (8K)</code> ñ╟ñ╣íúÑ╤Ñ▒Ñ├Ñ╚ñ╬╝┬║▌ñ╬─╣ñ╡ñ╧Ñ╪Ñ├Ñ└ñ╦ Ñ¿Ñ≤Ñ│í╝Ñ╔ñ╡ñ∞ñ╞╞■ñ├ñ╞ñññ▐ñ╣íú</p> <h3>Ñ╤Ñ▒Ñ├Ñ╚Ñ╪Ñ├Ñ└</h3> <p>Ñ╡í╝Ñ╨ñ½ñΘÑ│Ñ≤Ñ╞Ñ╩ñ╦┴≈╜╨ñ╡ñ∞ñδÑ╤Ñ▒Ñ├Ñ╚ñ╧ <code>0x1234</code> ñ╟╗╧ñ▐ñΩñ▐ñ╣íú Ñ│Ñ≤Ñ╞Ñ╩ñ½ñΘÑ╡í╝Ñ╨ñ╦┴≈ñΘñ∞ñδÑ╤Ñ▒Ñ├Ñ╚ñ╧ <code>AB</code> (ASCII Ñ│í╝Ñ╔ A ñ╚ ASCII Ñ│í╝Ñ╔ B) ñ╟╗╧ñ▐ñΩñ▐ñ╣íúñ│ñ╬╞≤Ñ╨ÑñÑ╚ñ╬╕σñ╦íóÑ┌ÑñÑφí╝Ñ╔─╣ñ¼ (╛σ╡¡ñ╬╖┴╝░ñ╟) ┬│ñ¡ñ▐ñ╣íúñ│ñ╬ñ┐ñßíóÑ┌ÑñÑφí╝Ñ╔─╣ñ╬║╟┬τ├═ñ╧ 2^16 ñ╦ñ╟ñ¡ñδñΦñªñ╦╗╫ñ¿ñ▐ñ╣ñ¼íó ╝┬║▌ñ╦ñ╧Ñ│í╝Ñ╔ñ╟ñ╧║╟┬τ├═ñ╧ 8K ñ╦└▀─Ωñ╡ñ∞ñ╞ñññ▐ñ╣íú</p> <table> <tr> <td colspan="6"><em>Ñ╤Ñ▒Ñ├Ñ╚╖┴╝░ (Server->Container)</em></td> </tr> <tr> <td>Byte</td> <td>0</td> <td>1</td> <td>2</td> <td>3</td> <td>4...(n+3)</td> </tr> <tr> <td>Contents</td> <td>0x12</td> <td>0x34</td> <td colspan="2">Ñ╟í╝Ñ┐─╣ (n)</td> <td>Data</td> </tr> </table> <table> <tr> <td colspan="6"><em>Ñ╤Ñ▒Ñ├Ñ╚╖┴╝░ (Container->Server)</em></td> </tr> <tr> <td>Byte</td> <td>0</td> <td>1</td> <td>2</td> <td>3</td> <td>4...(n+3)</td> </tr> <tr> <td>Contents</td> <td>A</td> <td>B</td> <td colspan="2">Ñ╟í╝Ñ┐─╣ (n)</td> <td>Data</td> </tr> </table> <p>ñ█ñ╚ñ≤ñ╔ñ╬Ñ╤Ñ▒Ñ├Ñ╚ñ╟íóÑ┌ÑñÑφí╝Ñ╔ñ╬║╟╜Θñ╬Ñ╨ÑñÑ╚ñ¼ÑßÑ├Ñ╗í╝Ñ╕ñ╬╖┐ñ≥Ñ¿Ñ≤Ñ│í╝Ñ╔ ñ╖ñ╞ñññ▐ñ╣íú╬π│░ñ╧Ñ╡í╝Ñ╨ñ½ñΘÑ│Ñ≤Ñ╞Ñ╩ñ╦┴≈ñΘñ∞ñδÑΩѻѿÑ╣Ñ╚Ñ▄Ñ╟ÑúÑ╤Ñ▒Ñ├Ñ╚ñ╟ñ╣ í╜í╜ñ│ñ∞ñΘñ╧╔╕╜α┼¬ñ╩Ñ╤Ñ▒Ñ├Ñ╚╖┴╝░ (<code>0x1234</code> ñ╚Ñ╤Ñ▒Ñ├Ñ╚─╣) ñ╟ñ╣ñ¼íóñ╜ñ╬╕σñ╦┬│ñ»Ñ╫Ñ∞Ñ╒ÑúÑ├Ñ»Ñ╣Ñ│í╝Ñ╔ñ¼ñóñΩñ▐ñ╗ñ≤íú</p> <p>ѪѺÑ╓Ñ╡í╝Ñ╨ñ╧╝íñ╬ÑßÑ├Ñ╗í╝Ñ╕ñ≥Ñ╡í╝Ñ╓Ñ∞Ñ├Ñ╚Ñ│Ñ≤Ñ╞Ñ╩ñ╦┴≈╜╨ñ╟ñ¡ñ▐ñ╣íú</p> <table> <tr> <td>Ñ│í╝Ñ╔</td> <td>Ñ╤Ñ▒Ñ├Ñ╚ñ╬╖┐</td> <td>░╒╠ú</td> </tr> <tr> <td>2</td> <td>Forward Request</td> <td>ÑΩѻѿÑ╣Ñ╚╜Φ═²Ñ╡ÑñÑ»Ñδñ≥╕σ┬│ñ╬Ñ╟í╝Ñ┐ñ╚ñ╚ñΓñ╦│½╗╧ñ╣ñδíú</td> </tr> <tr> <td>7</td> <td>Shutdown</td> <td>ѪѺÑ╓Ñ╡í╝Ñ╨ñ¼Ñ│Ñ≤Ñ╞Ñ╩ñ╦íóÑ│Ñ≤Ñ╞Ñ╩ñ≥╜¬╬╗ñ╣ñδñΦñªñ╦┼┴ñ¿ñδíú</td> </tr> <tr> <td>8</td> <td>Ping</td> <td>ѪѺÑ╓Ñ╡í╝Ñ╨ñ¼Ñ│Ñ≤Ñ╞Ñ╩ñ╦└⌐╕µñ≥╝⌡ñ▒╗²ñ─ñΦñªñ╦┼┴ñ¿ñδ (Ñ╗Ñ¡ÑσÑóÑφÑ░ÑñÑ≤Ñ╒Ѻí╝Ñ║) íú</td> </tr> <tr> <td>10</td> <td>CPing</td> <td>ѪѺÑ╓Ñ╡í╝Ñ╨ñ¼Ñ│Ñ≤Ñ╞Ñ╩ñ╦ CPong ñ╟┬¿║┬ñ╦▒■┼·ñ╣ñδñΦñªñ╦┼┴ñ¿ñδíú</td> </tr> <tr> <td>none</td> <td>Data</td> <td>Ñ╡ÑñÑ║ (2 Ñ╨ÑñÑ╚) ñ╚ñ╜ñ∞ñ╦┬│ñ»Ñ▄Ñ╟ÑúÑ╟í╝Ñ┐íú</td> </tr> </table> <p>┤≡╦▄┼¬ñ╩Ñ╗Ñ¡ÑσÑΩÑ╞Ñúñ≥│╬╩▌ñ╣ñδñ┐ñßíóÑ█Ñ╣Ñ╚ñ╡ñ∞ñ╞ñññδÑ▐Ñ╖Ñ≤ñ╚╞▒░∞ñ╬ Ñ▐Ñ╖Ñ≤ñ½ñΘñ╬ÑΩѻѿÑ╣Ñ╚ñ╦┬╨ñ╖ñ╞ñ╬ñ▀íóÑ│Ñ≤Ñ╞Ñ╩ñ╧╝┬║▌ñ╦ <code>Shutdown</code> ñ≥╝┬╣╘ñ╖ñ▐ñ╣íú</p> <p>║╟╜Θñ╬ <code>Data</code> Ñ╤Ñ▒Ñ├Ñ╚ñ╧íó<code>Forward Request</code> ñ╬─╛╕σñ╦ѪѺÑ╓Ñ╡í╝Ñ╨ñ½ñΘ┴≈ñΘñ∞ñ▐ñ╣íú</p> <p>Ñ╡í╝Ñ╓Ñ∞Ñ├Ñ╚Ñ│Ñ≤Ñ╞Ñ╩ñ╧ѪѺÑ╓Ñ╡í╝Ñ╨ñ╦íó╝íñ╬Ñ┐ÑñÑ╫ñ╬ÑßÑ├Ñ╗í╝Ñ╕ñ≥┴≈ñδñ│ñ╚ñ¼ ñ╟ñ¡ñ▐ñ╣ :</p> <table> <tr> <td>Ñ│í╝Ñ╔</td> <td>Ñ╤Ñ▒Ñ├Ñ╚ñ╬╖┐</td> <td>░╒╠ú</td> </tr> <tr> <td>3</td> <td>Send Body Chunk</td> <td>Ñ╡í╝Ñ╓Ñ∞Ñ├Ñ╚Ñ│Ñ≤Ñ╞Ñ╩ñ½ñΘѪѺÑ╓Ñ╡í╝Ñ╨ñ╦ (ñ╜ñ╖ñ╞ñ¬ñ╜ñΘñ»ñ╜ñ╬ñ▐ñ▐Ñ╓ÑΘѪÑ╢ñ╦)íóÑ▄Ñ╟Ñúñ╬Ñ┴ÑπÑ≤Ñ»ñ≥┴≈ñδíú</td> </tr> <tr> <td>4</td> <td>Send Headers</td> <td>Ñ╡í╝Ñ╓Ñ∞Ñ├Ñ╚Ñ│Ñ≤Ñ╞Ñ╩ñ½ñΘѪѺÑ╓Ñ╡í╝Ñ╨ñ╦ (ñ╜ñ╖ñ╞ñ¬ñ╜ñΘñ»ñ╜ñ╬ñ▐ñ▐Ñ╓ÑΘѪÑ╢ñ╦) Ñ∞Ñ╣Ñ▌Ñ≤Ñ╣Ñ╪Ñ├Ñ└ñ≥┴≈ñδíú</td> </tr> <tr> <td>5</td> <td>End Response</td> <td>Ñ∞Ñ╣Ñ▌Ñ≤Ñ╣ (ñ─ñ▐ñΩÑΩѻѿÑ╣Ñ╚╜Φ═²Ñ╡ÑñÑ»Ñδ) ╜¬╬╗ñ╬╠▄░⌡ñ≥┴≈ñδíú </td> </tr> <tr> <td>6</td> <td>Get Body Chunk</td> <td>ñ▐ñ└┴┤ñ╞┼╛┴≈ñ╡ñ∞ñ╞ñññ╩ññ╛∞╣τíó╗─ñ├ñ╞ñññδÑΩѻѿÑ╣Ñ╚ñ╬Ñ╟í╝Ñ┐ñ≥╝⌡ñ▒╝Φñδíú </td> </tr> <tr> <td>9</td> <td>CPong ▒■┼·</td> <td>CPing ÑΩѻѿÑ╣Ñ╚ñ╦▒■┼·ñ╣ñδíú</td> </tr> </table> <p>╛σ╡¡ÑßÑ├Ñ╗í╝Ñ╕ñ╧íóñ╜ñ∞ñ╛ñ∞╞Γ╔⌠╣╜┬ññ¼░█ñ╩ñ├ñ╞ñññ▐ñ╣íú╛▄║┘ñ╧▓╝╡¡ñ≥ñ┤═≈ñ»ñ└ñ╡ññíú </p> </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> <h2><a name="rpacetstruct" id="rpacetstruct">ÑΩѻѿÑ╣Ñ╚Ñ╤Ñ▒Ñ├Ñ╚╣╜┬ñ</a></h2> <p>Ñ╡í╝Ñ╨ñ½ñΘÑ│Ñ≤Ñ╞Ñ╩ñ╪┴≈ñΘñ∞ñδÑßÑ├Ñ╗í╝Ñ╕ñ¼ <em>Forward Request</em> ╖┐ñ╬╛∞╣τ :</p> <div class="example"><pre> AJP13_FORWARD_REQUEST := prefix_code (byte) 0x02 = JK_AJP13_FORWARD_REQUEST method (byte) protocol (string) req_uri (string) remote_addr (string) remote_host (string) server_name (string) server_port (integer) is_ssl (boolean) num_headers (integer) request_headers *(req_header_name req_header_value) attributes *(attribut_name attribute_value) request_terminator (byte) OxFF </pre></div> <p><code>request_headers</code> ñ╧╝íñ╬ñΦñªñ╩╣╜┬ññ╦ñ╩ñ├ñ╞ñññ▐ñ╣ : </p><div class="example"><pre> req_header_name := sc_req_header_name | (string) [see below for how this is parsed] sc_req_header_name := 0xA0xx (integer) req_header_value := (string) </pre></div> <p><code>┬░└¡</code> ñ╧ѬÑ╫Ñ╖ÑτÑ≤ñ╟íó╝íñ╬ñΦñªñ╩╣╜┬ññ≥ñ╖ñ╞ñññ▐ñ╣ :</p> <div class="example"><pre> attribute_name := sc_a_name | (sc_a_req_attribute string) attribute_value := (string) </pre></div> <p>ñΓñ├ñ╚ñΓ╜┼═╫ñ╩Ñ╪Ñ├Ñ└ñ╧ <code>content-length</code> ñ└ñ╚ñññªñ│ñ╚ñ╦ ├φ░╒ñ╖ñ╞ñ»ñ└ñ╡ññíúÑ│Ñ≤Ñ╞Ñ╩ñ╧╝íñ╬Ñ╤Ñ▒Ñ├Ñ╚ñ≥├╡ñ╣ñ½ñ╔ñªñ½ñ≥íó ñ╜ñ∞ñ≥╕½ñ╞╖Φñßñδñ½ñΘñ╟ñ╣íú</p> <h3>Forward Request ═╫┴╟ñ╬╛▄║┘ñ╩└Γ╠└ </h3> <h3>Request prefix</h3> <p>ÑΩѻѿÑ╣Ñ╚ñ╦ñ─ñññ╞ñ╧┴┤ñ╞íóñ│ñ╬├═ñ╧ 2 ñ╦ñ╩ñΩñ▐ñ╣íú┬╛ñ╬ Prefix Ñ│í╝Ñ╔ñ╬╛▄║┘ñ╧ ╛σ╡¡ñ≥ñ┤═≈ñ»ñ└ñ╡ññíú</p> <h3>Method</h3> <p>HTTP ÑßÑ╜Ñ├Ñ╔ñ╧ 1 Ñ╨ÑñÑ╚ñ╦Ñ¿Ñ≤Ñ│í╝Ñ╔ñ╡ñ∞ñ▐ñ╣ :</p> <table> <tr><td>Command Name</td><td>Code</td></tr> <tr><td>OPTIONS</td><td>1</td></tr> <tr><td>GET</td><td>2</td></tr> <tr><td>HEAD</td><td>3</td></tr> <tr><td>POST</td><td>4</td></tr> <tr><td>PUT</td><td>5</td></tr> <tr><td>DELETE</td><td>6</td></tr> <tr><td>TRACE</td><td>7</td></tr> <tr><td>PROPFIND</td><td>8</td></tr> <tr><td>PROPPATCH</td><td>9</td></tr> <tr><td>MKCOL</td><td>10</td></tr> <tr><td>COPY</td><td>11</td></tr> <tr><td>MOVE</td><td>12</td></tr> <tr><td>LOCK</td><td>13</td></tr> <tr><td>UNLOCK</td><td>14</td></tr> <tr><td>ACL</td><td>15</td></tr> <tr><td>REPORT</td><td>16</td></tr> <tr><td>VERSION-CONTROL</td><td>17</td></tr> <tr><td>CHECKIN</td><td>18</td></tr> <tr><td>CHECKOUT</td><td>19</td></tr> <tr><td>UNCHECKOUT</td><td>20</td></tr> <tr><td>SEARCH</td><td>21</td></tr> <tr><td>MKWORKSPACE</td><td>22</td></tr> <tr><td>UPDATE</td><td>23</td></tr> <tr><td>LABEL</td><td>24</td></tr> <tr><td>MERGE</td><td>25</td></tr> <tr><td>BASELINE_CONTROL</td><td>26</td></tr> <tr><td>MKACTIVITY</td><td>27</td></tr> </table> <p>║ú╕σñ╬ ajp13 Ñ╨í╝Ñ╕ÑτÑ≤ñ╟ñ╧íóñ│ñ╬░∞═≈ñ╦ñ╩ññíó║ú╕σ─╔▓├ñ╡ñ∞ñδÑßÑ╜Ñ├Ñ╔ñ≥ ┴≈ñδñ½ñΓñ╖ñ∞ñ▐ñ╗ñ≤íú</p> <h3>protocol, req_uri, remote_addr, remote_host, server_name, server_port, is_ssl</h3> <p>ñ│ñ∞ñΘñ╧ñ▐ñ╡ñ╦╩╕╗·─╠ñΩñ╬ñΓñ╬ñ╟ñ╣íúñ╔ñ∞ñΓ╔¼═╫ñ╟íóÑΩѻѿÑ╣Ñ╚ñ╬╦Φ▓≤ñ╦ñ─ñ¡ ┴≈ñΘñ∞ñ▐ñ╣íú</p> <h3>Headers</h3> <p><code>request_headers</code> ñ╬╣╜┬ññ╧╝íñ╬ñΦñªñ╩ñΓñ╬ñ╟ñ╣ : ñ▐ñ║Ñ╪Ñ├Ñ└ñ╬┐⌠ <code>num_headers</code> ñ¼Ñ¿Ñ≤Ñ│í╝Ñ╔ñ╡ñ∞ñ▐ñ╣íú ╝íñ╦Ñ╪Ñ├Ñ└╠╛ <code>req_header_name</code> / ├═ <code>req_header_value</code> ñ╬┴╚ñ¼┬│ñ¡ñ▐ñ╣íú╕·╬¿ñ╬ñ┐ñßíó░∞╚╠┼¬ñ╩Ñ╪Ñ├Ñ└ñ╧└░┐⌠ñ╟Ñ¿Ñ≤Ñ│í╝Ñ╔ñ╖ñ╞┼╛┴≈ñ╖ñ▐ñ╣íú Ñ╪Ñ├Ñ└╠╛ñ¼┤≡╦▄Ñ╪Ñ├Ñ└ñ╬░∞═≈ñ╦╠╡ññ╛∞╣τñ╧íó─╠╛∩─╠ñΩ (╩╕╗·╬≤ñ╚ñ╖ñ╞íó─╣ñ╡ Ñ╫Ñ∞Ñ╒ÑúÑ├Ñ»Ñ╣╔╒ñ¡ñ╟) ┼╛┴≈ñ╡ñ∞ñ▐ñ╣íú░∞╚╠┼¬ñ╩Ñ╪Ñ├Ñ└ <code>sc_req_header_name</code> ñ╬░∞═≈ñ╚ñ╜ñ╬Ñ│í╝Ñ╔ñ╧╝íñ╬─╠ñΩñ╟ñ╣ (ñ╔ñ∞ñΓ┬τ╩╕╗·╛«╩╕╗·ñ≥╢Φ╩╠ñ╖ñ▐ñ╣) :</p> <table> <tr><td>╠╛┴░</td><td>Ñ│í╝Ñ╔ñ╬├═</td><td>Ñ│í╝Ñ╔╠╛</td></tr> <tr><td>accept</td><td>0xA001</td><td>SC_REQ_ACCEPT</td></tr> <tr><td>accept-charset</td><td>0xA002</td><td>SC_REQ_ACCEPT_CHARSET </td></tr> <tr><td>accept-encoding</td><td>0xA003</td><td>SC_REQ_ACCEPT_ENCODING </td></tr> <tr><td>accept-language</td><td>0xA004</td><td>SC_REQ_ACCEPT_LANGUAGE </td></tr> <tr><td>authorization</td><td>0xA005</td><td>SC_REQ_AUTHORIZATION</td> </tr> <tr><td>connection</td><td>0xA006</td><td>SC_REQ_CONNECTION</td></tr> <tr><td>content-type</td><td>0xA007</td><td>SC_REQ_CONTENT_TYPE</td> </tr> <tr><td>content-length</td><td>0xA008</td><td>SC_REQ_CONTENT_LENGTH</td> </tr> <tr><td>cookie</td><td>0xA009</td><td>SC_REQ_COOKIE</td></tr> <tr><td>cookie2</td><td>0xA00A</td><td>SC_REQ_COOKIE2</td></tr> <tr><td>host</td><td>0xA00B</td><td>SC_REQ_HOST</td></tr> <tr><td>pragma</td><td>0xA00C</td><td>SC_REQ_PRAGMA</td></tr> <tr><td>referer</td><td>0xA00D</td><td>SC_REQ_REFERER</td></tr> <tr><td>user-agent</td><td>0xA00E</td><td>SC_REQ_USER_AGENT</td></tr> </table> <p>ñ│ñ∞ñ≥╞╔ñ▀╣■ñα Java ñ╬Ñ│í╝Ñ╔ñ╟ñ╧íó║╟╜Θñ╬ 2 Ñ╨ÑñÑ╚└░┐⌠ñ≥╝ΦñΩ╣■ñ▀íó ╠▄░⌡ñ╦ñ╩ñδÑ╨ÑñÑ╚ <code>'0xA0'</code> ñ╟ñóñ∞ñ╨íóÑ╪Ñ├Ñ└╠╛ñ╬╟█╬≤ñ╬ ÑñÑ≤Ñ╟Ñ├Ñ»Ñ╣ñ≥╗╚ñññ▐ñ╣íú└Φ╞¼Ñ╨ÑñÑ╚ñ¼ <code>0xA0</code> ñ╟ñ╩ññ╛∞╣τñ╧íó └Φ╞¼ 2 Ñ╨ÑñÑ╚ñ╧╩╕╗·╬≤─╣ñ≥╔╜ñ╣└░┐⌠ñ╟ñóñδñ╚▓≥╝ßñ╖íó╞╔ñ▀╣■ñ▀ñ╧ñ╕ñßñ▐ñ╣íú</p> <p>Ñ╪Ñ├Ñ└╠╛ñ╬─╣ñ╡ñ╧ <code>0x9999 (==0xA000 -1)</code> ░╩╛σñ╦ñ╩ñΘñ╩ñññ╚ñññª ▓╛─Ωñ╬▓╝ñ╦╞░ñññ╞ñññ╞íó╛»ñ╖ñóñññ▐ñññ╟ñ╣ñ¼╣τ═²┼¬ñ╩╡≤╞░ñ╦ñ╩ñ├ñ╞ñññ▐ñ╣íú</p> <div class="note"><h3>├φ:</h3> <code>content-length</code> Ñ╪Ñ├Ñ└ñ╧ñ╚ñ╞ñΓ╜┼═╫ñ╟ñ╣íú ┬╕║▀ñ╖ñ╞ñññ╞╚≤Ñ╝Ñφñ╟ñóñ∞ñ╨íóÑΩѻѿÑ╣Ñ╚ñ╦ñ╧Ñ▄Ñ╟Ñúñ¼ñóñδ (╬πñ¿ñ╨ POST ÑΩѻѿÑ╣Ñ╚) ñ╚┐Σ┬¼ñ╖íóñ╜ñ╬Ñ▄Ñ╟Ñúñ≥╝ΦñΩ╣■ñαñ┐ñßñ╦ ─╛╕σñ╬Ñ╤Ñ▒Ñ├Ñ╚ñ≥╞■╬╧Ñ╣Ñ╚ÑΩí╝Ñαñ½ñΘ╞╔ñ▀╣■ñ▀ñ╧ñ╕ñßñ▐ñ╣íú </div> <h3>┬░└¡</h3> <p><code>?</code> Ñ╫Ñ∞Ñ╒ÑúÑ├Ñ»Ñ╣ñ╟╗╧ñ▐ñδ┬░└¡ (╬π <code>?context</code>) ñ╧íú╛╩╬¼▓─╟╜ñ╟ñ╣íúñ╜ñ∞ñ╛ñ∞┬░└¡ñ╬╖┐ñ≥╝¿ñ╣ 1 Ñ╨ÑñÑ╚ñ╬Ñ│í╝Ñ╔ñ╚íó ├═ñ╬╩╕╗·╬≤ñ¼┬│ñ¡ñ▐ñ╣íú ñ│ñ∞ñΘñ╧╜τ╔╘╞▒ñ╟┴≈ñδñ│ñ╚ñ¼ñ╟ñ¡ñ▐ñ╣ (C ñ╬Ñ│í╝Ñ╔ñ╧╛∩ñ╦▓╝ñ╬░∞═≈╜τñ╦ ┴≈ñδñΦñªñ╟ñ╣ñ¼) íú ѬÑ╫Ñ╖ÑτÑ≤ñ╬┬░└¡ñ╬ÑΩÑ╣Ñ╚ñ╬║╟╕σñ╦ñ╧íó╞├╩╠ñ╩╜¬╬╗Ñ│í╝Ñ╔ñ¼┴≈ñΘñ∞ñ▐ñ╣íú Ñ│í╝Ñ╔ñ╬░∞═≈ñ╧ : </p> <table> <tr><td>Information</td><td>Code Value</td><td>Note</td></tr> <tr><td>?context</td><td>0x01</td><td>╠ñ╝┬┴⌡ </td></tr> <tr><td>?servlet_path</td><td>0x02</td><td>╠ñ╝┬┴⌡ </td></tr> <tr><td>?remote_user</td><td>0x03</td><td /></tr> <tr><td>?auth_type</td><td>0x04</td><td /></tr> <tr><td>?query_string</td><td>0x05</td><td /></tr> <tr><td>?jvm_route</td><td>0x06</td><td /></tr> <tr><td>?ssl_cert</td><td>0x07</td><td /></tr> <tr><td>?ssl_cipher</td><td>0x08</td><td /></tr> <tr><td>?ssl_session</td><td>0x09</td><td /></tr> <tr><td>?req_attribute</td><td>0x0A</td><td>Name (the name of the attribute follows)</td></tr> <tr><td>?ssl_key_size</td><td>0x0B</td><td /></tr> <tr><td>are_done</td><td>0xFF</td><td>request_terminator</td></tr> </table> <p><code>context</code> ñ╚ <code>servlet_path</code> ñ╧╕╜║▀ñ╬ C ñ╬ Ñ│í╝Ñ╔ñ╟ñ╧Ñ╗Ñ├Ñ╚ñ╡ñ∞ñ╞ñññ▐ñ╗ñ≤íúñ▐ñ┐íóñ█ñ╚ñ≤ñ╔ñ╬ Java ñ╬Ñ│í╝Ñ╔ñ╟ñΓíó ñ│ñ╬Ñ╒Ñúí╝ÑδÑ╔ñ╟▓┐ñ¼┴≈ñΘñ∞ñ╞ñΓ╠╡╗δñ╡ñ∞ñ▐ñ╣ (ñ│ñ∞ñΘñ╬Ñ│í╝Ñ╔ñ╬╕σñ╦╩╕╗·╬≤ñ¼ ┴≈ñΘñ∞ñδñ╚▓⌡ñ∞ñδñΓñ╬ñΓñóñΩñ▐ñ╣)íú ñ│ñ∞ñ¼Ñ╨Ñ░ñ╩ñ╬ñ½íó├▒ñ╦╠ñ╝┬┴⌡ñ╩ñ╬ñ½íó╬≥╗╦┼¬╖╨░▐ñ╟╗─ñ├ñ╞ñññδÑ│í╝Ñ╔ñ╩ñ╬ñ½ ╩¼ñ½ñΩñ▐ñ╗ñ≤ñ¼íóÑ│Ñ═Ñ»Ñ╖ÑτÑ≤ñ╬╬╛┬ªñ╚ñΓñ╟╕½┼÷ñ┐ñΩñ▐ñ╗ñ≤íú</p> <p><code>remote_user</code> ñ╚ <code>auth_type</code> ñ╧ñ¬ñ╜ñΘñ» HTTP Ñ∞Ñ┘Ñδñ╬╟º╛┌ñ≥╗▓╛╚ñ╖ñ╞ñññ╞íóÑΩÑΓí╝Ñ╚ѵí╝Ñ╢ñ╬ѵí╝Ñ╢╠╛ñ╚╟º╛┌ñ╦╗╚═╤ñ╖ñ┐ Ñ┐ÑñÑ╫ (╬π Basic, Digest) ñ╦ñ─ñññ╞ñΣñΩ╝ΦñΩñ╖ñ▐ñ╣íú</p> <p><code>query_string</code>, <code>ssl_cert</code>, <code>ssl_cipher</code>, <code>ssl_session</code> ñ╧ HTTP ñ╚ HTTPS ñ╬┬╨▒■ñ╣ñδ╔⌠╩¼ñ≥╗▓╛╚ñ╖ñ▐ñ╣íú</p> <p><code>jvm_route</code> ñ╧Ñ╣Ñ╞ÑúÑ├Ñ¡í╝Ñ╗Ñ├Ñ╖ÑτÑ≤ñ╬Ñ╡Ñ▌í╝Ñ╚í╜í╜ Ñφí╝Ñ╔Ñ╨ÑΘÑ≤Ñ╣ñ╖ñ╞ñññδ╩ú┐⌠ñ╬Ñ╡í╝Ñ╨├µñ╬╞├─Ωñ╬ Tomcat ÑñÑ≤Ñ╣Ñ┐Ñ≤Ñ╣ñ╚íó ѵí╝Ñ╢ñ╬Ñ╗Ñ├Ñ╖ÑτÑ≤ñ╚ñ≥╔│╔╒ñ▒ñδ╡í╟╜í╜í╜ñ╦╗╚ñ∩ñ∞ñ▐ñ╣íú</p> <p>ñ│ñ╬┤≡╦▄┬░└¡░∞═≈ñ╦╠╡ñññΓñ╬ñ╦ñ─ñññ╞ñ╧íó<code>req_attribute</code> Ñ│í╝Ñ╔ <code>0x0A</code> ╖╨═│ñ╟┬░└¡ñ≥▓┐╕─ñ╟ñΓ┴≈ñδñ│ñ╚ñ¼ñ╟ñ¡ñ▐ñ╣íú ┬░└¡ñ╬╠╛┴░ñ╚├═ñ╬╩╕╗·╬≤ñ╬┴╚ñ≥íóñ╜ñ∞ñ╛ñ∞ñ│ñ╬Ñ│í╝Ñ╔ñ╬─╛╕σñ╦┴≈ñΩñ▐ñ╣íú ┤─╢¡╩╤┐⌠ñ╧ñ│ñ╬╩²╦íñ╟┼┴ñ¿ñΘñ∞ñ▐ñ╣íú</p> <p>║╟╕σñ╦┬░└¡ñ¼┴┤ñ╞┴≈┐«ñ╡ñ∞ñ┐╕σñ╦íó┬░└¡ñ╬╜¬├╝ñ≥╝¿ñ╣ <code>0xFF</code> ñ¼┴≈╜╨ñ╡ñ∞ñ▐ñ╣íúñ│ñ╬┐«╣µñ╧┬░└¡ñ╬░∞═≈ñ╬╜¬ñ∩ñΩñ≥╝¿ñ╣ñ╚╞▒╗■ñ╦íóÑΩѻѿÑ╣Ñ╚ Ñ╤Ñ▒Ñ├Ñ╚ñ╬╜¬├╝ñ≥ñΓ╝¿ñ╖ñ╞ñññ▐ñ╣íú</p> </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> <div class="section"> <h2><a name="resppacketstruct" id="resppacketstruct">Ñ∞Ñ╣Ñ▌Ñ≤Ñ╣Ñ╤Ñ▒Ñ├Ñ╚╣╜┬ñ</a></h2> <p>Ñ│Ñ≤Ñ╞Ñ╩ñ¼Ñ╡í╝Ñ╨ñ╦┴≈ñΩ╩╓ñ╣ñ│ñ╚ñ╬ñ╟ñ¡ñδÑßÑ├Ñ╗í╝Ñ╕:</p> <div class="example"><pre> AJP13_SEND_BODY_CHUNK := prefix_code 3 chunk_length (integer) chunk *(byte) AJP13_SEND_HEADERS := prefix_code 4 http_status_code (integer) http_status_msg (string) num_headers (integer) response_headers *(res_header_name header_value) res_header_name := sc_res_header_name | (string) [see below for how this is parsed] sc_res_header_name := 0xA0 (byte) header_value := (string) AJP13_END_RESPONSE := prefix_code 5 reuse (boolean) AJP13_GET_BODY_CHUNK := prefix_code 6 requested_length (integer) </pre></div> <h3>╛▄║┘ :</h3> <h3>Send Body Chunk</h3> <p>Ñ┴ÑπÑ≤Ñ»ñ╧┤≡╦▄┼¬ñ╦ñ╧Ñ╨ÑñÑ╩ÑΩÑ╟í╝Ñ┐ñ╟íóÑ╓ÑΘѪÑ╢ñ╦─╛└▄┴≈ñΘñ∞ñ▐ñ╣íú</p> <h3>Send Headers</h3> <p>Ñ╣Ñ╞í╝Ñ┐Ñ╣Ñ│í╝Ñ╔ñ╚ÑßÑ├Ñ╗í╝Ñ╕ñ¼─╠╛∩ñ╬ HTTP ñ╬─╠┐«ñ╦ñ╧ñóñΩñ▐ñ╣ (╬π <code>200</code> ñ╚ <code>OK</code>)íúÑ∞Ñ╣Ñ▌Ñ≤Ñ╣Ñ╪Ñ├Ñ└╠╛ñ╧íó ÑΩѻѿÑ╣Ñ╚Ñ╪Ñ├Ñ└╠╛ñ╚╞▒══ñ╬╩²╦íñ╟Ñ¿Ñ≤Ñ│í╝Ñ╔ñ╡ñ∞ñ▐ñ╣íú Ñ│í╝Ñ╔ñ╚╩╕╗·╬≤ñ╬╚╜╩╠╩²╦íñ╬╛▄║┘ñ╦┤╪ñ╖ñ╞ñ╧íó╛σ╡¡ñ╬ header_encoding ñ≥╗▓╛╚ñ╖ñ╞ñ»ñ└ñ╡ññíú ░∞╚╠┼¬ñ╩Ñ╪Ñ├Ñ└ñ╬Ñ│í╝Ñ╔ñ╧ :</p> <table> <tr><td>╠╛┴░</td><td>Ñ│í╝Ñ╔ñ╬├═</td></tr> <tr><td>Content-Type</td><td>0xA001</td></tr> <tr><td>Content-Language</td><td>0xA002</td></tr> <tr><td>Content-Length</td><td>0xA003</td></tr> <tr><td>Date</td><td>0xA004</td></tr> <tr><td>Last-Modified</td><td>0xA005</td></tr> <tr><td>Location</td><td>0xA006</td></tr> <tr><td>Set-Cookie</td><td>0xA007</td></tr> <tr><td>Set-Cookie2</td><td>0xA008</td></tr> <tr><td>Servlet-Engine</td><td>0xA009</td></tr> <tr><td>Status</td><td>0xA00A</td></tr> <tr><td>WWW-Authenticate</td><td>0xA00B</td></tr> </table> <p>Ñ│í╝Ñ╔ñ½Ñ╪Ñ├Ñ└╩╕╗·╬≤ñ╬─╛╕σñ╦ñ╧íóÑ╪Ñ├Ñ└ñ╬├═ñ¼Ñ¿Ñ≤Ñ│í╝Ñ╔ñ╡ñ∞ñ▐ñ╣íú</p> <h3>End Response</h3> <p>ÑΩѻѿÑ╣Ñ╚╜Φ═²Ñ╡ÑñÑ»Ñδñ╬╜¬╬╗ñ≥├╬ñΘñ╗ñ▐ñ╣íú<code>reuse</code> Ñ╒ÑΘÑ░ñ¼┐┐ <code>(==1)</code> ñ╬╛∞╣τíó╕╜║▀╗╚═╤ñ╖ñ╞ñññδ TCP Ñ│Ñ═Ñ»Ñ╖ÑτÑ≤ñ╧╝íñ╬┐╖ñ╖ññ ÑΩѻѿÑ╣Ñ╚ñ╦╗╚ñ¿ñδñΦñªñ╦ñ╩ñΩñ▐ñ╣íú<code>reuse</code> ñ¼╡╢ (C ñ╬Ñ│í╝Ñ╔ñ╟ñ╧ 1 ░╩│░ñ╬┴┤ñ╞) ñ╬╛∞╣τñ╧íóÑ│Ñ═Ñ»Ñ╖ÑτÑ≤ñ≥╩─ñ╕ñδñ│ñ╚ñ╦ñ╩ñΩñ▐ñ╣íú</p> <h3>Get Body Chunk</h3> <p>(Ñ▄Ñ╟Ñúñ╬Ñ╡ÑñÑ║ñ¼┬τñ¡ñ╣ñ«ñ╞║╟╜Θñ╬Ñ╤Ñ▒Ñ├Ñ╚ñ╦╝²ñ▐ñΘñ╩ññ╛∞╣τñΣíó ÑΩѻѿÑ╣Ñ╚ñ¼Ñ┴ÑπÑ≤Ñ»┼╛┴≈ñ╡ñ∞ñ┐╛∞╣τñ╩ñ╔ñ╦ñ╧íó) Ñ│Ñ≤Ñ╞Ñ╩ñ╧ÑΩѻѿÑ╣Ñ╚ñ½ñΘñ╬ Ñ╟í╝Ñ┐╞╔ñ▀╣■ñ▀═╫╡ßñ≥ñ╖ñ▐ñ╣íúÑ╡í╝Ñ╨┬ªñ╧ñ╜ñ∞ñ╦┬╨ñ╖ñ╞íó║╟╛« <code>request_length</code> ║╟┬τ <code>(8186 (8 Kbytes - 6))</code> ñ╬╚╧░╧ñ╟íó╠ñ┼╛┴≈ñ╟╗─ñ├ñ╞ñññδÑΩѻѿÑ╣Ñ╚Ñ▄Ñ╟Ñúñ╬┬τñ¡ñ╡ñ╬Ñ╟í╝Ñ┐ñ≥ ┴≈ñΩ╩╓ñ╖ñ▐ñ╣íú<br /> Ñ▄Ñ╟Ñúñ╦ñ╜ñ∞░╩╛σÑ╟í╝Ñ┐ñ¼╗─ñ├ñ╞ñññ╩ññ╛∞╣τ (ñ─ñ▐ñΩÑ╡í╝Ñ╓Ñ∞Ñ├Ñ╚ñ¼ Ñ▄Ñ╟Ñúñ╬║╟╕σñ≥─╢ñ¿ñ╞╞╔ñ▀╣■ñΓñªñ╚ñ╖ñ┐╛∞╣τ) íóÑ╡í╝Ñ╨ñ╧ Ñ┌ÑñÑφí╝Ñ╔─╣ 0 ñ╬<em>╢⌡Ñ╤Ñ▒Ñ├Ñ╚</em><code>(0x12,0x34,0x00,0x00)</code> ñ≥┴≈ñΩ╩╓ñ╖ñ▐ñ╣íú</p> </div> </div> <div class="bottomlang"> <p><span>Available Languages: </span><a href="../en/mod/mod_proxy_ajp.html" hreflang="en" rel="alternate" title="English"> en </a> | <a href="../ja/mod/mod_proxy_ajp.html" title="Japanese"> ja </a></p> </div><div id="footer"> <p class="apache">Copyright 1995-2006 The Apache Software Foundation or its licensors, as applicable.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> <p class="menu"><a href="../mod/">ÑΓÑ╕Ñσí╝Ñδ</a> | <a href="../mod/directives.html">Ñ╟ÑúÑ∞Ñ»Ñ╞ÑúÑ╓</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">═╤╕∞</a> | <a href="../sitemap.html">Ñ╡ÑñÑ╚Ñ▐Ñ├Ñ╫</a></p></div> </body></html>